home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 3 / Cream of the Crop 3.iso / comm / wnos5src.zip / POP.H < prev    next >
Text File  |  1993-08-09  |  2KB  |  68 lines

  1. #ifndef _POP_H
  2. #define _POP_H
  3.  
  4. /*
  5.             filename --  POP.H
  6.             author   --  Mike Stockett, WA7DYX
  7.             additional hacking by Allen Gwinn, N5CKP
  8. */
  9.  
  10. #define BUF_LEN        257
  11.  
  12. #include <fcntl.h>
  13.  
  14. /* ---------------- common server data structures ---------------- */
  15.  
  16. /* POP server control block */
  17.  
  18. struct popserv {
  19.     int    socket;                    /* socket number for this connection */
  20.     char state;                    /* server state */
  21. #define LSTN        0
  22. #define AUTH        1
  23. #define MBOX        2
  24. #define ITEM        3
  25. #define    NEXT        4
  26. #define DONE        5
  27.     char buf[BUF_LEN];            /* input line buffer */
  28.     char username[MAXPATH];        /* user/folder name */
  29.     char *path;                    /* different path to mailfile */
  30.     FILE *wf;                    /* work folder file pointer */
  31.     int    folder_len;                /* number of msgs in current folder */
  32.     int msg_num;                /* current msg number */
  33.     int32 msg_len;                /* length of current msg */
  34.     int    msg_status_size;         /* size of the message status array */
  35.     int32 curpos;                /* current msg's position in file */
  36.     int32 folder_file_size;        /* length of the current folder file, in bytes */
  37.     int32 nextpos;                /* next msg's position in file */
  38.     unsigned int folder_modified;    /*  mail folder contents modified flag */
  39.     unsigned int *msg_status;    /* message status array pointer */
  40.     int def;                    /* flag for default msg/path */
  41. };
  42. #define NULLSCB    (struct popserv *)0
  43.  
  44. void popserv __ARGS((int s,void *unused,void *p));
  45.  
  46.  
  47. /* ---------------- common client data structures ---------------- */
  48.  
  49. /* POP client control block */
  50. struct popcli {
  51.     int    socket;            /* socket for this connection */
  52.     char state;            /* client state */
  53. #define       CALL        0
  54. #define       NMBR        3
  55. #define       SIZE        5
  56. #define       XFER        8
  57. #define       EXIT        10
  58.     char *buf;            /* tcp input buffer pointer */
  59.     int32 msg_len;        /* length of current msg */
  60.     FILE *fd;            /* tempfile pointer */
  61. /*    FILE *mf;            /* mailbox file pointer */
  62. /*    int count;            /* input buffer length */
  63. /*    int    folder_len;        /* number of msgs in current folder */
  64. /*    int    msg_num;        /* current message number */
  65. };
  66.  
  67. #endif /* _POP_H */
  68.